﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo
{
    public enum cook
    {
        青椒炒肉,
        番茄炒蛋,
        水煮肉片
    }
    //可以在CookRobot中添加一个代表菜的类型的字段，用枚举类型；在DeliveryRobot中添加一个代表连续工作时长的字段hours。
    //CookRobot和DeliveryRobot应实现具体的Working()方法。
    //在主类中定义一个方法，形参数据类型是string，返回值数据类型是Robot，
    //方法中实现如果传入的字符串是“炒菜”，那就返回CookRobot的实例（当然是要用Robot的引用指向的），
    //    如果传入的字符串是“传菜”，那就返回DeliveryRobot的实例。
    //Main方法中：用户输入所选择的机器人的功能，根据用户的输入Robot执行对应的功能。
    abstract class Robot
    {
        private string _name;
        public string name { get => _name; set => _name = value; }

        public Robot()
        {

        }
        public Robot(String name)
        {
            this.name = name;
        }
        public abstract void working();
    }
    class CookRobot : Robot
    {
        
        private cook _cook;
        public cook Cook { get => _cook; set => _cook = value; }

        public CookRobot() { 
        
        }
        public CookRobot(string name,cook Cook):base( name) {
            this.Cook = Cook;
        }
        public override void working()
        {
            Console.WriteLine("集齐7龙珠召唤{0}", this.Cook);
        }
    }
    class DeliveryRobot : Robot
    {

        private int _hour;
        public int hour { get => _hour; set => _hour = value; }

        public DeliveryRobot()
        {

        }
        public DeliveryRobot(string name, int hour) : base(name)
        {
            this.hour = hour;
        }
        public override void working()
        {
            Console.WriteLine("要工作{0}小时了呜呜呜", this.hour);
        }
    }
}
